'''
Created on 15/10/2011

@author: Daniel
'''

from Tkinter import *
import tkMessageBox
from JanelaCadastroAluno import *
from JanelaCadastroFuncionario import *
from JanelaCadastroLivroDidatico import *
from JanelaCadastroLivroParadidatico import *
from JanelaCadastroRevista import *
from JanelaCadastroArtigo import *
from JanelaConsultaAluno import *
from JanelaConsultaFuncionario import *
from JanelaConsultaLivro import *
from JanelaEmprestimoAluno import *
from JanelaConsultaEmprestimo import *

class Janela_principal:
    def __init__(self,raiz):
        self.parente = raiz
        self.parente.title('SGFB - Sistema de Gerenciamento de Fluxo de Biblioteca')
        self.parente.minsize(width = 600, height = 400)
        #self.parente.resizable(width=False, height=False)
        
        self.container1 = Frame(self.parente)
        self.container1.grid(row = 1, column = 1)
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 2)
        self.container1.focus_force()
        
        self.barramenu = Menu(self.container1)
        self.parente.config(menu = self.barramenu)
        
        self.opcao1 = Menu(self.barramenu)
        self.opcao2 = Menu(self.barramenu)
        self.opcao3 = Menu(self.barramenu)
        self.opcao4 = Menu(self.barramenu)
        self.opcao5 = Menu(self.barramenu)
        self.opcao6 = Menu(self.barramenu)
        
        self.barramenu.add_cascade(label = "Cadastro", menu = self.opcao1)
        self.barramenu.add_cascade(label = "Consulta", menu = self.opcao2)
        self.barramenu.add_cascade(label = "Biblioteca", menu = self.opcao3)
        self.barramenu.add_cascade(label = "Sair do Programa", menu = self.opcao4)
                
        self.opcao1.add_command(label = "Aluno", command = self.Abrir_janela_cadastro_aluno)
        self.opcao1.add_command(label = "Funcionario", command = self.Abrir_janela_cadastro_funcionario)
        self.opcao1.add_cascade(label = "Publicacao", menu = self.opcao5)
        
        self.opcao2.add_command(label = "Aluno", command = self.Abrir_janela_consulta_aluno)
        self.opcao2.add_command(label = "Funcionario", command = self.Abrir_janela_consulta_funcionario)
        self.opcao2.add_command(label = "Livro", command = self.Abrir_janela_consulta_livro)
        
        self.opcao3.add_cascade(label = "Novo Emprestimo", menu = self.opcao6)
        self.opcao3.add_command(label = "Consultar Emprestimos", command = self.Abrir_janela_consulta_emprestimo)

        self.opcao5.add_command(label = "Livro Didatico", command = self.Abrir_janela_cadastro_livro_didatico)
        self.opcao5.add_command(label = "Livro Paradidatico", command = self.Abrir_janela_cadastro_livro_paradidatico)
        self.opcao5.add_command(label = "Revista", command = self.Abrir_janela_cadastro_revista)
        self.opcao5.add_command(label = "Artigo/Jornal", command = self.Abrir_janela_cadastro_artigo)
        
        self.opcao6.add_command(label = "Aluno", command = self.Abrir_janela_emprestimo_aluno)
        self.opcao6.add_command(label = "Funcionario", command = None)
        
        self.opcao4.add_command(label = "Sair", command = self.Cancelar)
                
    def Abrir_janela_cadastro_aluno(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroAluno = Janela_cadastro_aluno(self.container2)
        
    def Abrir_janela_cadastro_funcionario(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroFuncionario = Janela_cadastro_funcionario(self.container2)
    
    def Abrir_janela_cadastro_livro_didatico(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroLivroDidatico = Janela_cadastro_livro_didatico(self.container2)

    def Abrir_janela_cadastro_livro_paradidatico(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroLivroParadidatico = Janela_cadastro_livro_paradidatico(self.container2)

    def Abrir_janela_cadastro_revista(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroRevista = Janela_cadastro_revista(self.container2)

    def Abrir_janela_cadastro_artigo(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        CadastroArtigo = Janela_cadastro_artigo(self.container2)
        
    def Abrir_janela_consulta_aluno(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        ConsultaAluno = Janela_consulta_aluno(self.container2)
        
    def Abrir_janela_consulta_funcionario(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        ConsultaFuncionario = Janela_consulta_funcionario(self.container2)
        
    def Abrir_janela_consulta_livro(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        ConsultaLivro = Janela_consulta_livro(self.container2)
        
    def Abrir_janela_emprestimo_aluno(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        NovoEmprestimo = Janela_novo_emprestimo_aluno(self.container2)
                
    def Abrir_janela_consulta_emprestimo(self):
        self.container2.destroy()
        self.container2 = Frame(self.parente)
        self.container2.grid(row = 2, column = 1)
        ConsultaEmprestimo = Janela_consulta_emprestimo(self.container2)
        
    def Cancelar(self):
        self.parente.destroy()
